Code coverage report for src/decorator-applicator.js

Statements: 64.29% (27 / 42)      Branches: 33.33% (6 / 18)      Functions: 100% (8 / 8)      Lines: 65% (26 / 40)      Ignored: none     

All files » src/ » decorator-applicator.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 781     1   5   1   2     1 1 5   5 5 5 5     1 5 5 5                                           1 4   4 4     4       4       4 4             1     1        
System.register(['./metadata'], function (_export) {
  'use strict';
 
  var Metadata, DecoratorApplicator;
 
  function _classCallCheck(instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
 
  return {
    setters: [function (_metadata) {
      Metadata = _metadata.Metadata;
    }],
    execute: function () {
      DecoratorApplicator = (function () {
        function DecoratorApplicator() {
          _classCallCheck(this, DecoratorApplicator);
 
          this._first = null;
          this._second = null;
          this._third = null;
          this._rest = null;
        }
 
        DecoratorApplicator.prototype.decorator = function decorator(_decorator) {
          Eif (this._first === null) {
            this._first = _decorator;
            return this;
          }
 
          if (this._second === null) {
            this._second = _decorator;
            return this;
          }
 
          if (this._third === null) {
            this._third = _decorator;
            return this;
          }
 
          if (this._rest === null) {
            this._rest = [];
          }
 
          this._rest.push(_decorator);
 
          return this;
        };
 
        DecoratorApplicator.prototype._decorate = function _decorate(target) {
          var i, ii, rest;
 
          Eif (this._first !== null) {
            this._first(target);
          }
 
          Iif (this._second !== null) {
            this._second(target);
          }
 
          Iif (this._third !== null) {
            this._third(target);
          }
 
          rest = this._rest;
          Iif (rest !== null) {
            for (i = 0, ii = rest.length; i < ii; ++i) {
              rest[i](target);
            }
          }
        };
 
        return DecoratorApplicator;
      })();
 
      _export('DecoratorApplicator', DecoratorApplicator);
    }
  };
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL21ldGFkYXRhL3NyYy9kZWNvcmF0b3ItYXBwbGljYXRvci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Z0JBRWEsbUJBQW1COzs7Ozs7MkJBRnhCLFFBQVE7OztBQUVILHlCQUFtQjtBQUNuQixpQkFEQSxtQkFBbUIsR0FDakI7Z0NBREYsbUJBQW1COztBQUU1QixjQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztBQUNuQixjQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztBQUNwQixjQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztBQUNuQixjQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNuQjs7QUFOVSwyQkFBbUIsV0FROUIsU0FBUyxHQUFBLG1CQUFDLFVBQVMsRUFBQztBQUNsQixjQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFDO0FBQ3RCLGdCQUFJLENBQUMsTUFBTSxHQUFHLFVBQVMsQ0FBQztBQUN4QixtQkFBTyxJQUFJLENBQUM7V0FDYjs7QUFFRCxjQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFDO0FBQ3ZCLGdCQUFJLENBQUMsT0FBTyxHQUFHLFVBQVMsQ0FBQztBQUN6QixtQkFBTyxJQUFJLENBQUM7V0FDYjs7QUFFRCxjQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFDO0FBQ3RCLGdCQUFJLENBQUMsTUFBTSxHQUFHLFVBQVMsQ0FBQztBQUN4QixtQkFBTyxJQUFJLENBQUM7V0FDYjs7QUFFRCxjQUFHLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFDO0FBQ3JCLGdCQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztXQUNqQjs7QUFFRCxjQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFTLENBQUMsQ0FBQzs7QUFFM0IsaUJBQU8sSUFBSSxDQUFDO1NBQ2I7O0FBL0JVLDJCQUFtQixXQWlDOUIsU0FBUyxHQUFBLG1CQUFDLE1BQU0sRUFBQztBQUNmLGNBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUM7O0FBRWhCLGNBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUM7QUFDdEIsZ0JBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7V0FDckI7O0FBRUQsY0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksRUFBQztBQUN2QixnQkFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztXQUN0Qjs7QUFFRCxjQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFDO0FBQ3RCLGdCQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1dBQ3JCOztBQUVELGNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBQ2xCLGNBQUcsSUFBSSxLQUFLLElBQUksRUFBQztBQUNmLGlCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBQztBQUN2QyxrQkFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pCO1dBQ0Y7U0FDRjs7ZUF0RFUsbUJBQW1COzs7cUNBQW5CLG1CQUFtQiIsImZpbGUiOiIvVXNlcnMvRWlzZW5iZXJnRWZmZWN0L0RvY3VtZW50cy9HaXRIdWIvVGhlIER1cmFuZGFsIFByb2plY3QvYXVyZWxpYS9tZXRhZGF0YS9zcmMvZGVjb3JhdG9yLWFwcGxpY2F0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01ldGFkYXRhfSBmcm9tICcuL21ldGFkYXRhJztcblxuZXhwb3J0IGNsYXNzIERlY29yYXRvckFwcGxpY2F0b3Ige1xuICBjb25zdHJ1Y3Rvcigpe1xuICAgIHRoaXMuX2ZpcnN0ID0gbnVsbDtcbiAgICB0aGlzLl9zZWNvbmQgPSBudWxsO1xuICAgIHRoaXMuX3RoaXJkID0gbnVsbDtcbiAgICB0aGlzLl9yZXN0ID0gbnVsbDtcbiAgfVxuXG4gIGRlY29yYXRvcihkZWNvcmF0b3Ipe1xuICAgIGlmKHRoaXMuX2ZpcnN0ID09PSBudWxsKXtcbiAgICAgIHRoaXMuX2ZpcnN0ID0gZGVjb3JhdG9yO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYodGhpcy5fc2Vjb25kID09PSBudWxsKXtcbiAgICAgIHRoaXMuX3NlY29uZCA9IGRlY29yYXRvcjtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmKHRoaXMuX3RoaXJkID09PSBudWxsKXtcbiAgICAgIHRoaXMuX3RoaXJkID0gZGVjb3JhdG9yO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYodGhpcy5fcmVzdCA9PT0gbnVsbCl7XG4gICAgICB0aGlzLl9yZXN0ID0gW107XG4gICAgfVxuXG4gICAgdGhpcy5fcmVzdC5wdXNoKGRlY29yYXRvcik7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIF9kZWNvcmF0ZSh0YXJnZXQpe1xuICAgIHZhciBpLCBpaSwgcmVzdDtcblxuICAgIGlmKHRoaXMuX2ZpcnN0ICE9PSBudWxsKXtcbiAgICAgIHRoaXMuX2ZpcnN0KHRhcmdldCk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5fc2Vjb25kICE9PSBudWxsKXtcbiAgICAgIHRoaXMuX3NlY29uZCh0YXJnZXQpO1xuICAgIH1cblxuICAgIGlmKHRoaXMuX3RoaXJkICE9PSBudWxsKXtcbiAgICAgIHRoaXMuX3RoaXJkKHRhcmdldCk7XG4gICAgfVxuXG4gICAgcmVzdCA9IHRoaXMuX3Jlc3Q7XG4gICAgaWYocmVzdCAhPT0gbnVsbCl7XG4gICAgICBmb3IoaSA9IDAsIGlpID0gcmVzdC5sZW5ndGg7IGkgPCBpaTsgKytpKXtcbiAgICAgICAgcmVzdFtpXSh0YXJnZXQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19